<?php
/**
 * @copyright (C)2020-2099 Hnaoyun Inc.
 * @author XingMeng
 * @email hnxsh@foxmail.com
 * @date 2020年3月8日
 *  标签控制器     
 */
namespace app\home\controller;

use core\basic\Controller;
use core\basic\Url;

class TagController extends Controller
{

    protected $parser;

    protected $htmldir;

    public function __construct()
    {
        $this->parser = new ParserController();
        $this->htmldir = $this->config('tpl_html_dir') ? $this->config('tpl_html_dir') . '/' : '';
    }

    // 内容搜索
    public function index()
    {

        // 在非兼容模式接受地址第二参数值
        if (defined('RVAR')) {
            $_GET['tag'] = RVAR;
        }
        // if (! get('tag')) {
        //     _404('您访问的TAG页面不存在，请核对后重试！');
        // }

        
        $tagstpl = request('tagstpl');
        if (! preg_match('/^[\w]+\.html$/', $tagstpl) && get('tag', 'vars') != 'index' && get('tag', 'vars') !== NULL) {
            $tagstpl = 'tags.html';
        } else {
            $tagstpl = 'tagsindex.html';
        }
        $content = parent::parser($this->htmldir . $tagstpl); // 框架标签解析
        $content = $this->parser->parserBefore($content); // CMS公共标签前置解析
        if (get('tag', 'vars') != 'index' && get('tag', 'vars') !== NULL) {
            $pagetitle = get('tag', 'vars') ? get('tag', 'vars') . '-' : '';
        } else {
            if (cookie('lg') == 'cn') {
                $pagetitle = '聚合标签' . '-';
            } else {
                $pagetitle = 'ALL TAG' . '-';
            }
        }
        $content = str_replace('{pboot:pagetitle}', $pagetitle . '{pboot:sitetitle}', $content);
        if (cookie('lg') == 'cn') {
            $content = $this->parser->parserPositionLabel($content, 0, 'TAG标签', Url::home('tag')); // CMS当前位置标签解析
            $content = $this->parser->parserSpecialPageSortLabel($content, - 2, 'TAG标签', Url::home('tag')); // 解析分类标签
        } else {
            $content = $this->parser->parserPositionLabel($content, 0, 'TAG', Url::home('tag')); // CMS当前位置标签解析
            $content = $this->parser->parserSpecialPageSortLabel($content, - 2, 'TAG', Url::home('tag')); // 解析分类标签
        }
        $content = $this->parser->parserAfter($content); // CMS公共标签后置解析
        $this->cache($content, true);
    }
}